1. Field of the Invention
This invention relates to a page printer usable as an output device for a personal computer.
2. Description of Related Art
Personal computer users increasingly demand high-speed operation and high performance in a printing device connected to a personal computer. Particularly, an electrophotographic printing device using a laser diode, an LED or the like as a light source has been widely used because of its high speed and high print quality. This type of printing device is designed to receive one page of data and then to print out each page in accordance with a constant-speed sheet-feeding operation. Thus, this type of printer is called a "page printer".
This high-speed "page printer" printing device necessarily requires a high speed processing system. Various types of print data processing systems are known and are classified into the following two systems.
The first system is a page memory system. This system has a memory (video RAM) capable of storing one page of dot image data. In this system, character codes which are received from a host computer are interpreted, converted to bitmaps, and stored as dot image data in the memory. When the dot image data for an entire page has been received, interpreted and converted, a print engine prints the prepared page.
This page memory system advantageously directly stores the image data for one page. However, this page memory system also requires an expensive memory (video RAM) having an extremely large capacity.
The second page memory system, which compensates for the large capacity memory requirement of the first page memory system, is a video RAM system which uses an image development area corresponding to a 1/n portion of a page, where n represents an integer greater than or equal to 2. This second page memory system uses a text memory (RAM) unit to store character codes for one page in text form, rather than as a bitmap, and a video RAM unit for storing dot image data of the 1/n portion of the page.
When receiving the character codes from the host computer, a CPU of the page printer interprets the character codes, develops character code data from the character codes, then adds the developed character code data with information of the character writing position in the video RAM to prepare the text data. The text data is written into the text memory. After the text data of one page is prepared and stored into the text memory, the CPU then converts the text data from the beginning of the text memory and writes it as dot image data into the video RAM.
Since the video RAM has a limited storage capacity, corresponding to the 1/n portion of the page, after the first 1/n portion of the dot image data of the text data is converted and stored into the video RAM, the printing operation is started. Once the dot image data has been printed, it is no longer necessary for the video RAM to continue to store the printed dot image data.
As the video RAM also outputs data from the beginning, a "vacant" area is formed from the beginning of the video RAM corresponding to the locations of the video RAM which store the printed dot image data. Therefore, the next 1/n portion of the text data in the text memory is converted and stored to the video RAM as vacant areas become available. Thus, new dot image data is written into the newly-available vacant areas. As described above, the read-out operation from the video RAM unit and the write-in operation into the video RAM unit are carried out alternately to perform a printing operation of one page.
As described above, in the second video RAM system, the one-page printing operation is carried out using a video RAM having a storage capacity of only a 1/n portion of a page and a text memory (RAM) having sufficient capacity to store an entire page as text data. Therefore, this type of printing device has an advantage the memory capacity is greatly reduced in comparison to the first page memory system.
However, in the second video RAM system printing device, the dot image data of a next raster is written into the video RAM only after a predetermined amount of vacant area becomes available in the video RAM unit, causing the following problem. When a large time period is necessary to convert the next text data to the dot image data, additional dot image data remaining in the video RAM is liable to be printed before any new dot image data is written into the video RAM. If such a state continues, the video RAM will become emptied of the dot image data. Further, since the sheet feeding operation is carried out at a constant speed at all times, printing becomes impossible (i.e. an over-run error occurs) if dot image data cannot be continuously read out of the video RAM.
In order to solve the this problem, a technique of using a part of the text memory as a video RAM unit when an over-run error occurs has been proposed in Japanese Laid-open Patent Application No. 2-52763.
However, this technique has the following problem. Since the amount of additional video RAM unit necessary to suppress the over-run error is unknown, a trial-and-error determination of the necessary additional video RAM must be repeated several times, so that this technique is inapplicable when rapid processing is required. In addition, a user is required to input a re-printing instruction when he learns an error through an over-run error indication. Therefore, if the device is used in an unmanned condition, printing is interrupted for a long time after the over-run error occurs. Thus, printing the page is not completed.